Package org.python.pydev.django_templates

Source Code of org.python.pydev.django_templates.DjPlugin

/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package org.python.pydev.django_templates;

import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.ui.texteditor.IDocumentProvider;
import org.osgi.framework.BundleContext;
import org.python.pydev.core.bundle.BundleInfo;
import org.python.pydev.core.bundle.IBundleInfo;
import org.python.pydev.core.bundle.ImageCache;
import org.python.pydev.django_templates.css.editor.DjCssDocumentProvider;
import org.python.pydev.django_templates.html.editor.DjHTMLDocumentProvider;

/**
* The activator class controls the plug-in life cycle
*/
public class DjPlugin extends AbstractUIPlugin {

    // The plug-in ID
    public static final String PLUGIN_ID = "org.python.pydev.django_templates"; //$NON-NLS-1$

    // The shared instance
    private static DjPlugin plugin;

    private IDocumentProvider djcssDocumentProvider;
    private IDocumentProvider djhtmlDocumentProvider;

    // ----------------- SINGLETON THINGS -----------------------------
    public static IBundleInfo info;

    public static IBundleInfo getBundleInfo() {
        if (DjPlugin.info == null) {
            DjPlugin.info = new BundleInfo(DjPlugin.getDefault().getBundle());
        }
        return DjPlugin.info;
    }

    public static void setBundleInfo(IBundleInfo b) {
        DjPlugin.info = b;
    }

    /**
     * @return the cache that should be used to access images within the pydev plugin.
     */
    public static ImageCache getImageCache() {
        return DjPlugin.getBundleInfo().getImageCache();
    }

    // ----------------- END BUNDLE INFO THINGS --------------------------

    /**
     * The constructor
     */
    public DjPlugin() {
    }

    /*
     * (non-Javadoc)
     *
     * @see
     * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
     * )
     */
    public void start(BundleContext context) throws Exception {
        super.start(context);
        plugin = this;
    }

    /*
     * (non-Javadoc)
     *
     * @see
     * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
     * )
     */
    public void stop(BundleContext context) throws Exception {
        plugin = null;
        super.stop(context);
    }

    /**
     * Returns the shared instance
     *
     * @return the shared instance
     */
    public static DjPlugin getDefault() {
        return plugin;
    }

    /**
     * Returns DjCSS document provider
     * @return
     */
    public synchronized IDocumentProvider getDjCSSDocumentProvider() {
        if (djcssDocumentProvider == null) {
            djcssDocumentProvider = new DjCssDocumentProvider();
        }
        return djcssDocumentProvider;
    }

    /**
     * Returns DjHTML document provider
     * @return
     */
    public synchronized IDocumentProvider getDjHTMLDocumentProvider() {
        if (djhtmlDocumentProvider == null) {
            djhtmlDocumentProvider = new DjHTMLDocumentProvider();
        }
        return djhtmlDocumentProvider;
    }

}
TOP

Related Classes of org.python.pydev.django_templates.DjPlugin

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.